﻿#include "stdlib.h"
#include "Exception.h"
#include "Admin.h"
#include "Prompt.h"
#include "Reader.h"
// 管理员密码
const string Admin::password = "123456";

// 上次的登录时间
time_t Admin::last_login = 0;
// 登录有效时长
const time_t Admin::expire_time = 60 * 5;

/**
 * @brief 验证管理员登录，登录成功返回0，登录失败返回-1
 *
 * @return int
 */
int Admin::Login()
{
	time_t now = time(nullptr);
	if (last_login + expire_time > now)
	{
		cout << "上次登录时间在有效期内" << endl;
		return 0;
	}
	string password;
	for (; password != Admin::password;)
	{
		try
		{
			password = prompt_passoword("请输入管理员密码：");
		}
		catch (InterrputException e)
		{
			return -1;
		}
	}
	last_login = time(nullptr);
	return 0;
}
